package com.hliushi.learn.config;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @author llhuang10
 * @date 2021/7/23 10:29
 */
@Getter     //
@Setter
@ToString
// @Configuration
@ConfigurationProperties(prefix = "bp.aubit")       // 注意下: 这个注解没有被 @Component标注
public class AuditProperties {

    public Place place = new Place();
    /**
     * . @ConfigConfigurationProperties是Springboot提供读取配置文件的一个注解
     * 其对应的bean的后置处理器为ConfigurationPropertiesBindingPostProcessor
     * <p>
     * 它是实现了BeanPostProcessor接口, 在bean被实例化后, 会调用后置处理, 递归的查找属性
     * 通过反射注入值, 对大多数属性而言强制需提供其setter和getter方法
     */


    /**
     * 频繁操作暂停写库时间(min), 默认为5min
     */
    private Long stopSaveTime = 5L;

    @Data
    public static class Place {

        private Integer level = 0;
        private Integer time = 0;
        private Integer dimension = 0;

    }

}
